package com.topvision.myviewtest.app;

import android.app.Application;

import com.alibaba.android.arouter.launcher.ARouter;
import com.squareup.leakcanary.LeakCanary;
import com.topvision.myviewtest.BuildConfig;
import com.topvision.myviewtest.utils.LogUtils;

/**
 * Author: lucy
 * Comment: //TODO
 * Date: 2017-11-13 10:06
 */

public class MyApp extends Application {
    private final String TAG = getClass().getSimpleName();
    @Override
    public void onCreate() {
        super.onCreate();
        if (LeakCanary.isInAnalyzerProcess(this)) {
            // This process is dedicated to LeakCanary for heap analysis.
            // You should not init your app in this process.
            LogUtils.d(TAG,"LeakCanary-->跳过安装");
            return;
        }
        LeakCanary.install(this);
        // Normal app init code...
        LogUtils.d(TAG,"LeakCanary-->安装成功");

        // 初始化ARouter
        initARouter();
    }

    private void initARouter() {
        if (BuildConfig.DEBUG) {           // 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog();     // 打印日志
            ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        }
        // 尽可能早，推荐在Application中初始化
        ARouter.init(this);
    }
}
